package model

import "github.com/smartwalle/alipay/v3"

type PayConfigRemark struct {
	AppId  string `json:"app_id"`
	OpenId string `json:"open_id"`
}

type AlipayRemark struct {
	PayConfigRemark
	ID uint32 `json:"id"`
}

type WechatRemark struct {
	PayConfigRemark
	PStoreId    uint32 `json:"p_store_id"`
	MerchantId  string `json:"mch_id"`
	AccountType uint8  `json:"account_type"`
}

type ByteDanceRemark struct {
	PayConfigRemark
	ByteDanceAppId string `json:"byte_dance_app_id"`
}

type OrderProcessRemark struct {
	Subject       string                    `json:"subject"`
	AlipayDetails []*alipay.GoodsDetailItem `json:"detail,omitempty"`
}

type ByteDanceNotify struct {
	Type      string `json:"type"`
	Signature string `json:"msg_signature"`
	Nonce     string `json:"nonce"`
	Timestamp string `json:"timestamp"`
	Msg       string `json:"msg"`
}

type ByteDanceNotifyPayRemark struct {
	// 小程序ID
	AppId string `json:"appid"`
	// 开发者传入订单号
	OutTradeNo string `json:"cp_orderno"`
	// 支付渠道
	Way string `json:"way"`
	// 预下单时传入字段
	Extra string `json:"cp_extra,omitempty"`
}

type ByteDanceNotifyRefundRemark struct {
	// 小程序ID
	AppId string `json:"appid"`
	// 开发者传入订单号
	OutTradeNo string `json:"cp_refundno"`
	// 支付渠道 PROCESSING-处理中|SUCCESS-成功|FAIL-失败
	Status string `json:"status"`
	// 预下单时传入字段
	Extra string `json:"cp_extra,omitempty"`
	// 退款金额
	RefundAmount int64 `json:"refund_amount,omitempty"`
}
